package com.george.caffeine.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.george.caffeine.entity.dao.OrderDAO;

import java.util.List;

/**
 * @Title: OrderService.java
 * @Description: 订单服务
 * @Author: George
 * @Date: 2023/3/20 15:17
 */
public interface OrderService {

    /**
     * 批量新增订单
     *
     * @param orderDAOS
     * @return void
     * @author George
     * @date 2023/3/21 10:11
     */
    void insertBatch(List<OrderDAO> orderDAOS);

    /**
     * 新增订单
     *
     * @param orderDAO
     * @return java.lang.Integer
     * @author George
     * @date 2023/3/21 10:06
     */
    Integer insertOrder(OrderDAO orderDAO);

    /**
     * 根据订单id获取订单信息
     *
     * @param id
     * @return com.george.caffeine.entity.dao.OrderDAO
     * @author George
     * @date 2023/3/20 15:19
     */
    OrderDAO getOrderById(String id);

    /**
     * 分页查询订单信息
     *
     * @param orderDAO
     * @param pageNum
     * @param pageSize
     * @return com.baomidou.mybatisplus.core.metadata.IPage<com.george.caffeine.entity.dao.OrderDAO>
     * @author George
     * @date 2023/3/21 9:49
     */
    IPage<OrderDAO> getOrderByPage(OrderDAO orderDAO, Integer pageNum, Integer pageSize);

    /**
     * 更新订单信息
     *
     * @param order
     * @return com.george.caffeine.entity.dao.OrderDAO
     * @author George
     * @date 2023/3/20 15:20
     */
    OrderDAO updateOrder(OrderDAO order);

    /**
     * 删除订单信息
     *
     * @param id
     * @return void
     * @author George
     * @date 2023/3/20 15:26
     */
    void deleteOrder(String id);
}